package com.groupfour.attendancemanagementsystem.service;

import com.groupfour.attendancemanagementsystem.entity.DO.TeacherDO;
import com.groupfour.attendancemanagementsystem.entity.DTO.TeacherAddDTO;
import com.groupfour.attendancemanagementsystem.entity.DTO.TeacherFindDTO;
import com.groupfour.attendancemanagementsystem.entity.DTO.TeacherUpdateDTO;
import com.groupfour.attendancemanagementsystem.entity.DTO.EmploymentStatusAndTeacherCode;

import java.util.Map;

public interface TeacherService {

    /**
     * @author 卑微小峰
     * @param userCode
     * @return int
     * @describe 获取教师登录信息
     */
    TeacherDO getTeacherByTeacherCode(String userCode);

    /**
     * @author 卑微小峰
     * @param newPwd,userCode
     * @return int
     * @describe 教师修改自己的密码
     */
    int updatePassword(String newPwd, String userCode);


    /**
     * @author li
     * @param teacherFindDTO,pageNum,pageSize
     * @return List<TeacherVO>
     * @describe： 按照教师表单提交进行查询得到教师列表
     */
    Map<String,Object> findTeacherByTeacherFindDTO(TeacherFindDTO teacherFindDTO, Integer pageNum, Integer pageSize);

    /**
     * @author li
     * @param  teacherAddDTO
     * @return boolean
     * @describe 按照教师新增表单输入内容进行新增教师
     */
    int AddTeacher(TeacherAddDTO teacherAddDTO);

    /**
     * @author li
     * @param teacherUpdateDTO
     * @return Boolean
     * @describe 按照教师修改表单输入内容进行教师信息修改
     */
    int UpdateTeacher(TeacherUpdateDTO teacherUpdateDTO);

    /**
     * @author li
     * @param employmentStatusAndTeacherCode
     * @return boolean
     * @describe 修改教师状态
     */
    int UpdateTeacherEmploymentStatus(EmploymentStatusAndTeacherCode employmentStatusAndTeacherCode);
}
